package com.yike.product.service;

import com.yike.product.entity.GoodsSpecification;
import com.yike.product.param.GoodsSpecificationPageParam;
import com.yike.common.base.BaseService;
import com.yike.common.pagination.Paging;
import com.yike.product.param.GoodsSpecificationParam;
import com.yike.product.vo.GoodsSpecificationVo;

/**
 * 商品规格 服务类
 *
 * @author Sakura
 * @since 2024-10-18
 */
public interface GoodsSpecificationService extends BaseService<GoodsSpecification> {

    /**
     * 保存
     *
     * @param goodsSpecificationParam
     * @return
     * @throws Exception
     */
    boolean saveGoodsSpecification(GoodsSpecificationParam goodsSpecificationParam) throws Exception;

    /**
     * 修改
     *
     * @param goodsSpecificationParam
     * @return
     * @throws Exception
     */
    boolean updateGoodsSpecification(GoodsSpecificationParam goodsSpecificationParam) throws Exception;

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteGoodsSpecification(Long id) throws Exception;

    GoodsSpecificationVo getGoodsSpecification(Long id) throws Exception;


    /**
     * 获取分页对象
     *
     * @param goodsSpecificationPageParam
     * @return
     * @throws Exception
     */
    Paging<GoodsSpecificationVo> getGoodsSpecificationPageList(GoodsSpecificationPageParam goodsSpecificationPageParam) throws Exception;

}
